
#include"comm.hpp"
#include"log.hpp"
using namespace std;

//管理管道文件
int main()
{
    
    //创建管道
    Init init;
    Log log;
    //log.Enable(Onefile);//修改日志信息打印位置
    log.Enable(Classfile);
    
    //打开管道
    int fd=open(FIFO_FILE,O_RDONLY);//等待写入方打开之后，自己才会打开文件，向后执行
    if(fd<0)                        //open阻塞了
    {
        //perror("open");
        log(Fatal,"error string:%s,error code%d",strerror(errno),errno);
        exit(FIFO_OPEN_ERR);
    }

    log(Info,"server open file done");

    log(Info,"error string:%s,error code%d",strerror(errno),errno);
    log(Debug,"error string:%s,error code%d",strerror(errno),errno);
    log(Warning,"error string:%s,error code%d",strerror(errno),errno);
    log(Error,"error string:%s,error code%d",strerror(errno),errno);
    log(Fatal,"error string:%s,error code%d",strerror(errno),errno);


    //开始通信
    while(true)
    {
        char buffer[1024]={0};
        int x = read(fd,buffer,sizeof(buffer));
        if(x>0)
        {
            buffer[x]=0;
            cout<<"client say@"<<buffer<<endl;
        }
        else if(x==0)//写端关闭，读端读0
        {
            log(Info,"client quit,me too!error string:%s,error code%d",strerror(errno),errno);
           //cout<<"client quit,me too\n"<<endl;
            break;
        }
        else
            break;
    }

    close(fd);
    //删除
    //析构自动关闭管道
    return 0;
}